package com.wan.net.rpc.util;

/**
 * @author wwh
 * @date 2022/6/20 18:24
 */
public class RpcUtil {
    /**
     * 构建服务方法的名称，用来绑定和调用
     * @param serviceInterface 接口类型
     * @param methodName 方法名
     * @param paramTypes 方法参数类型
     * @param implement 服务实现类的全限定名
     */
    public static String buildServiceMethodName(Class<?> serviceInterface, String methodName,
                                                Class<?>[] paramTypes,String implement){
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append(serviceInterface.getCanonicalName())
                .append(".").append(methodName)
                .append("(");
        for (Class<?> paramType : paramTypes) {
            stringBuilder.append(paramType.getCanonicalName()).append(",");
        }
        stringBuilder.deleteCharAt(stringBuilder.length() - 1).append(")")
                .append(".").append("impl:").append(implement);
        return stringBuilder.toString();
    }


}
